package pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class WlCouponExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public WlCouponExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCoupontypeIsNull() {
            addCriterion("couponType is null");
            return (Criteria) this;
        }

        public Criteria andCoupontypeIsNotNull() {
            addCriterion("couponType is not null");
            return (Criteria) this;
        }

        public Criteria andCoupontypeEqualTo(String value) {
            addCriterion("couponType =", value, "coupontype");
            return (Criteria) this;
        }

        public Criteria andCoupontypeNotEqualTo(String value) {
            addCriterion("couponType <>", value, "coupontype");
            return (Criteria) this;
        }

        public Criteria andCoupontypeGreaterThan(String value) {
            addCriterion("couponType >", value, "coupontype");
            return (Criteria) this;
        }

        public Criteria andCoupontypeGreaterThanOrEqualTo(String value) {
            addCriterion("couponType >=", value, "coupontype");
            return (Criteria) this;
        }

        public Criteria andCoupontypeLessThan(String value) {
            addCriterion("couponType <", value, "coupontype");
            return (Criteria) this;
        }

        public Criteria andCoupontypeLessThanOrEqualTo(String value) {
            addCriterion("couponType <=", value, "coupontype");
            return (Criteria) this;
        }

        public Criteria andCoupontypeLike(String value) {
            addCriterion("couponType like", value, "coupontype");
            return (Criteria) this;
        }

        public Criteria andCoupontypeNotLike(String value) {
            addCriterion("couponType not like", value, "coupontype");
            return (Criteria) this;
        }

        public Criteria andCoupontypeIn(List<String> values) {
            addCriterion("couponType in", values, "coupontype");
            return (Criteria) this;
        }

        public Criteria andCoupontypeNotIn(List<String> values) {
            addCriterion("couponType not in", values, "coupontype");
            return (Criteria) this;
        }

        public Criteria andCoupontypeBetween(String value1, String value2) {
            addCriterion("couponType between", value1, value2, "coupontype");
            return (Criteria) this;
        }

        public Criteria andCoupontypeNotBetween(String value1, String value2) {
            addCriterion("couponType not between", value1, value2, "coupontype");
            return (Criteria) this;
        }

        public Criteria andCouponnameIsNull() {
            addCriterion("couponName is null");
            return (Criteria) this;
        }

        public Criteria andCouponnameIsNotNull() {
            addCriterion("couponName is not null");
            return (Criteria) this;
        }

        public Criteria andCouponnameEqualTo(String value) {
            addCriterion("couponName =", value, "couponname");
            return (Criteria) this;
        }

        public Criteria andCouponnameNotEqualTo(String value) {
            addCriterion("couponName <>", value, "couponname");
            return (Criteria) this;
        }

        public Criteria andCouponnameGreaterThan(String value) {
            addCriterion("couponName >", value, "couponname");
            return (Criteria) this;
        }

        public Criteria andCouponnameGreaterThanOrEqualTo(String value) {
            addCriterion("couponName >=", value, "couponname");
            return (Criteria) this;
        }

        public Criteria andCouponnameLessThan(String value) {
            addCriterion("couponName <", value, "couponname");
            return (Criteria) this;
        }

        public Criteria andCouponnameLessThanOrEqualTo(String value) {
            addCriterion("couponName <=", value, "couponname");
            return (Criteria) this;
        }

        public Criteria andCouponnameLike(String value) {
            addCriterion("couponName like", value, "couponname");
            return (Criteria) this;
        }

        public Criteria andCouponnameNotLike(String value) {
            addCriterion("couponName not like", value, "couponname");
            return (Criteria) this;
        }

        public Criteria andCouponnameIn(List<String> values) {
            addCriterion("couponName in", values, "couponname");
            return (Criteria) this;
        }

        public Criteria andCouponnameNotIn(List<String> values) {
            addCriterion("couponName not in", values, "couponname");
            return (Criteria) this;
        }

        public Criteria andCouponnameBetween(String value1, String value2) {
            addCriterion("couponName between", value1, value2, "couponname");
            return (Criteria) this;
        }

        public Criteria andCouponnameNotBetween(String value1, String value2) {
            addCriterion("couponName not between", value1, value2, "couponname");
            return (Criteria) this;
        }

        public Criteria andCouponcodeIsNull() {
            addCriterion("couponCode is null");
            return (Criteria) this;
        }

        public Criteria andCouponcodeIsNotNull() {
            addCriterion("couponCode is not null");
            return (Criteria) this;
        }

        public Criteria andCouponcodeEqualTo(String value) {
            addCriterion("couponCode =", value, "couponcode");
            return (Criteria) this;
        }

        public Criteria andCouponcodeNotEqualTo(String value) {
            addCriterion("couponCode <>", value, "couponcode");
            return (Criteria) this;
        }

        public Criteria andCouponcodeGreaterThan(String value) {
            addCriterion("couponCode >", value, "couponcode");
            return (Criteria) this;
        }

        public Criteria andCouponcodeGreaterThanOrEqualTo(String value) {
            addCriterion("couponCode >=", value, "couponcode");
            return (Criteria) this;
        }

        public Criteria andCouponcodeLessThan(String value) {
            addCriterion("couponCode <", value, "couponcode");
            return (Criteria) this;
        }

        public Criteria andCouponcodeLessThanOrEqualTo(String value) {
            addCriterion("couponCode <=", value, "couponcode");
            return (Criteria) this;
        }

        public Criteria andCouponcodeLike(String value) {
            addCriterion("couponCode like", value, "couponcode");
            return (Criteria) this;
        }

        public Criteria andCouponcodeNotLike(String value) {
            addCriterion("couponCode not like", value, "couponcode");
            return (Criteria) this;
        }

        public Criteria andCouponcodeIn(List<String> values) {
            addCriterion("couponCode in", values, "couponcode");
            return (Criteria) this;
        }

        public Criteria andCouponcodeNotIn(List<String> values) {
            addCriterion("couponCode not in", values, "couponcode");
            return (Criteria) this;
        }

        public Criteria andCouponcodeBetween(String value1, String value2) {
            addCriterion("couponCode between", value1, value2, "couponcode");
            return (Criteria) this;
        }

        public Criteria andCouponcodeNotBetween(String value1, String value2) {
            addCriterion("couponCode not between", value1, value2, "couponcode");
            return (Criteria) this;
        }

        public Criteria andCategoryidIsNull() {
            addCriterion("categoryId is null");
            return (Criteria) this;
        }

        public Criteria andCategoryidIsNotNull() {
            addCriterion("categoryId is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryidEqualTo(String value) {
            addCriterion("categoryId =", value, "categoryid");
            return (Criteria) this;
        }

        public Criteria andCategoryidNotEqualTo(String value) {
            addCriterion("categoryId <>", value, "categoryid");
            return (Criteria) this;
        }

        public Criteria andCategoryidGreaterThan(String value) {
            addCriterion("categoryId >", value, "categoryid");
            return (Criteria) this;
        }

        public Criteria andCategoryidGreaterThanOrEqualTo(String value) {
            addCriterion("categoryId >=", value, "categoryid");
            return (Criteria) this;
        }

        public Criteria andCategoryidLessThan(String value) {
            addCriterion("categoryId <", value, "categoryid");
            return (Criteria) this;
        }

        public Criteria andCategoryidLessThanOrEqualTo(String value) {
            addCriterion("categoryId <=", value, "categoryid");
            return (Criteria) this;
        }

        public Criteria andCategoryidLike(String value) {
            addCriterion("categoryId like", value, "categoryid");
            return (Criteria) this;
        }

        public Criteria andCategoryidNotLike(String value) {
            addCriterion("categoryId not like", value, "categoryid");
            return (Criteria) this;
        }

        public Criteria andCategoryidIn(List<String> values) {
            addCriterion("categoryId in", values, "categoryid");
            return (Criteria) this;
        }

        public Criteria andCategoryidNotIn(List<String> values) {
            addCriterion("categoryId not in", values, "categoryid");
            return (Criteria) this;
        }

        public Criteria andCategoryidBetween(String value1, String value2) {
            addCriterion("categoryId between", value1, value2, "categoryid");
            return (Criteria) this;
        }

        public Criteria andCategoryidNotBetween(String value1, String value2) {
            addCriterion("categoryId not between", value1, value2, "categoryid");
            return (Criteria) this;
        }

        public Criteria andFullmoneyIsNull() {
            addCriterion("fullMoney is null");
            return (Criteria) this;
        }

        public Criteria andFullmoneyIsNotNull() {
            addCriterion("fullMoney is not null");
            return (Criteria) this;
        }

        public Criteria andFullmoneyEqualTo(Integer value) {
            addCriterion("fullMoney =", value, "fullmoney");
            return (Criteria) this;
        }

        public Criteria andFullmoneyNotEqualTo(Integer value) {
            addCriterion("fullMoney <>", value, "fullmoney");
            return (Criteria) this;
        }

        public Criteria andFullmoneyGreaterThan(Integer value) {
            addCriterion("fullMoney >", value, "fullmoney");
            return (Criteria) this;
        }

        public Criteria andFullmoneyGreaterThanOrEqualTo(Integer value) {
            addCriterion("fullMoney >=", value, "fullmoney");
            return (Criteria) this;
        }

        public Criteria andFullmoneyLessThan(Integer value) {
            addCriterion("fullMoney <", value, "fullmoney");
            return (Criteria) this;
        }

        public Criteria andFullmoneyLessThanOrEqualTo(Integer value) {
            addCriterion("fullMoney <=", value, "fullmoney");
            return (Criteria) this;
        }

        public Criteria andFullmoneyIn(List<Integer> values) {
            addCriterion("fullMoney in", values, "fullmoney");
            return (Criteria) this;
        }

        public Criteria andFullmoneyNotIn(List<Integer> values) {
            addCriterion("fullMoney not in", values, "fullmoney");
            return (Criteria) this;
        }

        public Criteria andFullmoneyBetween(Integer value1, Integer value2) {
            addCriterion("fullMoney between", value1, value2, "fullmoney");
            return (Criteria) this;
        }

        public Criteria andFullmoneyNotBetween(Integer value1, Integer value2) {
            addCriterion("fullMoney not between", value1, value2, "fullmoney");
            return (Criteria) this;
        }

        public Criteria andDiscountmoneyIsNull() {
            addCriterion("discountMoney is null");
            return (Criteria) this;
        }

        public Criteria andDiscountmoneyIsNotNull() {
            addCriterion("discountMoney is not null");
            return (Criteria) this;
        }

        public Criteria andDiscountmoneyEqualTo(Integer value) {
            addCriterion("discountMoney =", value, "discountmoney");
            return (Criteria) this;
        }

        public Criteria andDiscountmoneyNotEqualTo(Integer value) {
            addCriterion("discountMoney <>", value, "discountmoney");
            return (Criteria) this;
        }

        public Criteria andDiscountmoneyGreaterThan(Integer value) {
            addCriterion("discountMoney >", value, "discountmoney");
            return (Criteria) this;
        }

        public Criteria andDiscountmoneyGreaterThanOrEqualTo(Integer value) {
            addCriterion("discountMoney >=", value, "discountmoney");
            return (Criteria) this;
        }

        public Criteria andDiscountmoneyLessThan(Integer value) {
            addCriterion("discountMoney <", value, "discountmoney");
            return (Criteria) this;
        }

        public Criteria andDiscountmoneyLessThanOrEqualTo(Integer value) {
            addCriterion("discountMoney <=", value, "discountmoney");
            return (Criteria) this;
        }

        public Criteria andDiscountmoneyIn(List<Integer> values) {
            addCriterion("discountMoney in", values, "discountmoney");
            return (Criteria) this;
        }

        public Criteria andDiscountmoneyNotIn(List<Integer> values) {
            addCriterion("discountMoney not in", values, "discountmoney");
            return (Criteria) this;
        }

        public Criteria andDiscountmoneyBetween(Integer value1, Integer value2) {
            addCriterion("discountMoney between", value1, value2, "discountmoney");
            return (Criteria) this;
        }

        public Criteria andDiscountmoneyNotBetween(Integer value1, Integer value2) {
            addCriterion("discountMoney not between", value1, value2, "discountmoney");
            return (Criteria) this;
        }

        public Criteria andDiscountIsNull() {
            addCriterion("discount is null");
            return (Criteria) this;
        }

        public Criteria andDiscountIsNotNull() {
            addCriterion("discount is not null");
            return (Criteria) this;
        }

        public Criteria andDiscountEqualTo(Integer value) {
            addCriterion("discount =", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountNotEqualTo(Integer value) {
            addCriterion("discount <>", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountGreaterThan(Integer value) {
            addCriterion("discount >", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountGreaterThanOrEqualTo(Integer value) {
            addCriterion("discount >=", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountLessThan(Integer value) {
            addCriterion("discount <", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountLessThanOrEqualTo(Integer value) {
            addCriterion("discount <=", value, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountIn(List<Integer> values) {
            addCriterion("discount in", values, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountNotIn(List<Integer> values) {
            addCriterion("discount not in", values, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountBetween(Integer value1, Integer value2) {
            addCriterion("discount between", value1, value2, "discount");
            return (Criteria) this;
        }

        public Criteria andDiscountNotBetween(Integer value1, Integer value2) {
            addCriterion("discount not between", value1, value2, "discount");
            return (Criteria) this;
        }

        public Criteria andMinmoneyIsNull() {
            addCriterion("minMoney is null");
            return (Criteria) this;
        }

        public Criteria andMinmoneyIsNotNull() {
            addCriterion("minMoney is not null");
            return (Criteria) this;
        }

        public Criteria andMinmoneyEqualTo(Integer value) {
            addCriterion("minMoney =", value, "minmoney");
            return (Criteria) this;
        }

        public Criteria andMinmoneyNotEqualTo(Integer value) {
            addCriterion("minMoney <>", value, "minmoney");
            return (Criteria) this;
        }

        public Criteria andMinmoneyGreaterThan(Integer value) {
            addCriterion("minMoney >", value, "minmoney");
            return (Criteria) this;
        }

        public Criteria andMinmoneyGreaterThanOrEqualTo(Integer value) {
            addCriterion("minMoney >=", value, "minmoney");
            return (Criteria) this;
        }

        public Criteria andMinmoneyLessThan(Integer value) {
            addCriterion("minMoney <", value, "minmoney");
            return (Criteria) this;
        }

        public Criteria andMinmoneyLessThanOrEqualTo(Integer value) {
            addCriterion("minMoney <=", value, "minmoney");
            return (Criteria) this;
        }

        public Criteria andMinmoneyIn(List<Integer> values) {
            addCriterion("minMoney in", values, "minmoney");
            return (Criteria) this;
        }

        public Criteria andMinmoneyNotIn(List<Integer> values) {
            addCriterion("minMoney not in", values, "minmoney");
            return (Criteria) this;
        }

        public Criteria andMinmoneyBetween(Integer value1, Integer value2) {
            addCriterion("minMoney between", value1, value2, "minmoney");
            return (Criteria) this;
        }

        public Criteria andMinmoneyNotBetween(Integer value1, Integer value2) {
            addCriterion("minMoney not between", value1, value2, "minmoney");
            return (Criteria) this;
        }

        public Criteria andMaxmoneyIsNull() {
            addCriterion("maxMoney is null");
            return (Criteria) this;
        }

        public Criteria andMaxmoneyIsNotNull() {
            addCriterion("maxMoney is not null");
            return (Criteria) this;
        }

        public Criteria andMaxmoneyEqualTo(Integer value) {
            addCriterion("maxMoney =", value, "maxmoney");
            return (Criteria) this;
        }

        public Criteria andMaxmoneyNotEqualTo(Integer value) {
            addCriterion("maxMoney <>", value, "maxmoney");
            return (Criteria) this;
        }

        public Criteria andMaxmoneyGreaterThan(Integer value) {
            addCriterion("maxMoney >", value, "maxmoney");
            return (Criteria) this;
        }

        public Criteria andMaxmoneyGreaterThanOrEqualTo(Integer value) {
            addCriterion("maxMoney >=", value, "maxmoney");
            return (Criteria) this;
        }

        public Criteria andMaxmoneyLessThan(Integer value) {
            addCriterion("maxMoney <", value, "maxmoney");
            return (Criteria) this;
        }

        public Criteria andMaxmoneyLessThanOrEqualTo(Integer value) {
            addCriterion("maxMoney <=", value, "maxmoney");
            return (Criteria) this;
        }

        public Criteria andMaxmoneyIn(List<Integer> values) {
            addCriterion("maxMoney in", values, "maxmoney");
            return (Criteria) this;
        }

        public Criteria andMaxmoneyNotIn(List<Integer> values) {
            addCriterion("maxMoney not in", values, "maxmoney");
            return (Criteria) this;
        }

        public Criteria andMaxmoneyBetween(Integer value1, Integer value2) {
            addCriterion("maxMoney between", value1, value2, "maxmoney");
            return (Criteria) this;
        }

        public Criteria andMaxmoneyNotBetween(Integer value1, Integer value2) {
            addCriterion("maxMoney not between", value1, value2, "maxmoney");
            return (Criteria) this;
        }

        public Criteria andStarttimeIsNull() {
            addCriterion("startTime is null");
            return (Criteria) this;
        }

        public Criteria andStarttimeIsNotNull() {
            addCriterion("startTime is not null");
            return (Criteria) this;
        }

        public Criteria andStarttimeEqualTo(Date value) {
            addCriterionForJDBCDate("startTime =", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("startTime <>", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeGreaterThan(Date value) {
            addCriterionForJDBCDate("startTime >", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("startTime >=", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeLessThan(Date value) {
            addCriterionForJDBCDate("startTime <", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("startTime <=", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeIn(List<Date> values) {
            addCriterionForJDBCDate("startTime in", values, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("startTime not in", values, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("startTime between", value1, value2, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("startTime not between", value1, value2, "starttime");
            return (Criteria) this;
        }

        public Criteria andExpiretimeIsNull() {
            addCriterion("expireTime is null");
            return (Criteria) this;
        }

        public Criteria andExpiretimeIsNotNull() {
            addCriterion("expireTime is not null");
            return (Criteria) this;
        }

        public Criteria andExpiretimeEqualTo(Date value) {
            addCriterionForJDBCDate("expireTime =", value, "expiretime");
            return (Criteria) this;
        }

        public Criteria andExpiretimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("expireTime <>", value, "expiretime");
            return (Criteria) this;
        }

        public Criteria andExpiretimeGreaterThan(Date value) {
            addCriterionForJDBCDate("expireTime >", value, "expiretime");
            return (Criteria) this;
        }

        public Criteria andExpiretimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("expireTime >=", value, "expiretime");
            return (Criteria) this;
        }

        public Criteria andExpiretimeLessThan(Date value) {
            addCriterionForJDBCDate("expireTime <", value, "expiretime");
            return (Criteria) this;
        }

        public Criteria andExpiretimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("expireTime <=", value, "expiretime");
            return (Criteria) this;
        }

        public Criteria andExpiretimeIn(List<Date> values) {
            addCriterionForJDBCDate("expireTime in", values, "expiretime");
            return (Criteria) this;
        }

        public Criteria andExpiretimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("expireTime not in", values, "expiretime");
            return (Criteria) this;
        }

        public Criteria andExpiretimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("expireTime between", value1, value2, "expiretime");
            return (Criteria) this;
        }

        public Criteria andExpiretimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("expireTime not between", value1, value2, "expiretime");
            return (Criteria) this;
        }

        public Criteria andExpirestarttimeIsNull() {
            addCriterion("expireStartTime is null");
            return (Criteria) this;
        }

        public Criteria andExpirestarttimeIsNotNull() {
            addCriterion("expireStartTime is not null");
            return (Criteria) this;
        }

        public Criteria andExpirestarttimeEqualTo(Date value) {
            addCriterionForJDBCDate("expireStartTime =", value, "expirestarttime");
            return (Criteria) this;
        }

        public Criteria andExpirestarttimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("expireStartTime <>", value, "expirestarttime");
            return (Criteria) this;
        }

        public Criteria andExpirestarttimeGreaterThan(Date value) {
            addCriterionForJDBCDate("expireStartTime >", value, "expirestarttime");
            return (Criteria) this;
        }

        public Criteria andExpirestarttimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("expireStartTime >=", value, "expirestarttime");
            return (Criteria) this;
        }

        public Criteria andExpirestarttimeLessThan(Date value) {
            addCriterionForJDBCDate("expireStartTime <", value, "expirestarttime");
            return (Criteria) this;
        }

        public Criteria andExpirestarttimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("expireStartTime <=", value, "expirestarttime");
            return (Criteria) this;
        }

        public Criteria andExpirestarttimeIn(List<Date> values) {
            addCriterionForJDBCDate("expireStartTime in", values, "expirestarttime");
            return (Criteria) this;
        }

        public Criteria andExpirestarttimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("expireStartTime not in", values, "expirestarttime");
            return (Criteria) this;
        }

        public Criteria andExpirestarttimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("expireStartTime between", value1, value2, "expirestarttime");
            return (Criteria) this;
        }

        public Criteria andExpirestarttimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("expireStartTime not between", value1, value2, "expirestarttime");
            return (Criteria) this;
        }

        public Criteria andExpiredaysIsNull() {
            addCriterion("expireDays is null");
            return (Criteria) this;
        }

        public Criteria andExpiredaysIsNotNull() {
            addCriterion("expireDays is not null");
            return (Criteria) this;
        }

        public Criteria andExpiredaysEqualTo(Integer value) {
            addCriterion("expireDays =", value, "expiredays");
            return (Criteria) this;
        }

        public Criteria andExpiredaysNotEqualTo(Integer value) {
            addCriterion("expireDays <>", value, "expiredays");
            return (Criteria) this;
        }

        public Criteria andExpiredaysGreaterThan(Integer value) {
            addCriterion("expireDays >", value, "expiredays");
            return (Criteria) this;
        }

        public Criteria andExpiredaysGreaterThanOrEqualTo(Integer value) {
            addCriterion("expireDays >=", value, "expiredays");
            return (Criteria) this;
        }

        public Criteria andExpiredaysLessThan(Integer value) {
            addCriterion("expireDays <", value, "expiredays");
            return (Criteria) this;
        }

        public Criteria andExpiredaysLessThanOrEqualTo(Integer value) {
            addCriterion("expireDays <=", value, "expiredays");
            return (Criteria) this;
        }

        public Criteria andExpiredaysIn(List<Integer> values) {
            addCriterion("expireDays in", values, "expiredays");
            return (Criteria) this;
        }

        public Criteria andExpiredaysNotIn(List<Integer> values) {
            addCriterion("expireDays not in", values, "expiredays");
            return (Criteria) this;
        }

        public Criteria andExpiredaysBetween(Integer value1, Integer value2) {
            addCriterion("expireDays between", value1, value2, "expiredays");
            return (Criteria) this;
        }

        public Criteria andExpiredaysNotBetween(Integer value1, Integer value2) {
            addCriterion("expireDays not between", value1, value2, "expiredays");
            return (Criteria) this;
        }

        public Criteria andQuantityIsNull() {
            addCriterion("quantity is null");
            return (Criteria) this;
        }

        public Criteria andQuantityIsNotNull() {
            addCriterion("quantity is not null");
            return (Criteria) this;
        }

        public Criteria andQuantityEqualTo(Integer value) {
            addCriterion("quantity =", value, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityNotEqualTo(Integer value) {
            addCriterion("quantity <>", value, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityGreaterThan(Integer value) {
            addCriterion("quantity >", value, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityGreaterThanOrEqualTo(Integer value) {
            addCriterion("quantity >=", value, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityLessThan(Integer value) {
            addCriterion("quantity <", value, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityLessThanOrEqualTo(Integer value) {
            addCriterion("quantity <=", value, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityIn(List<Integer> values) {
            addCriterion("quantity in", values, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityNotIn(List<Integer> values) {
            addCriterion("quantity not in", values, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityBetween(Integer value1, Integer value2) {
            addCriterion("quantity between", value1, value2, "quantity");
            return (Criteria) this;
        }

        public Criteria andQuantityNotBetween(Integer value1, Integer value2) {
            addCriterion("quantity not between", value1, value2, "quantity");
            return (Criteria) this;
        }

        public Criteria andImageurlIsNull() {
            addCriterion("imageUrl is null");
            return (Criteria) this;
        }

        public Criteria andImageurlIsNotNull() {
            addCriterion("imageUrl is not null");
            return (Criteria) this;
        }

        public Criteria andImageurlEqualTo(String value) {
            addCriterion("imageUrl =", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlNotEqualTo(String value) {
            addCriterion("imageUrl <>", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlGreaterThan(String value) {
            addCriterion("imageUrl >", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlGreaterThanOrEqualTo(String value) {
            addCriterion("imageUrl >=", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlLessThan(String value) {
            addCriterion("imageUrl <", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlLessThanOrEqualTo(String value) {
            addCriterion("imageUrl <=", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlLike(String value) {
            addCriterion("imageUrl like", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlNotLike(String value) {
            addCriterion("imageUrl not like", value, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlIn(List<String> values) {
            addCriterion("imageUrl in", values, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlNotIn(List<String> values) {
            addCriterion("imageUrl not in", values, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlBetween(String value1, String value2) {
            addCriterion("imageUrl between", value1, value2, "imageurl");
            return (Criteria) this;
        }

        public Criteria andImageurlNotBetween(String value1, String value2) {
            addCriterion("imageUrl not between", value1, value2, "imageurl");
            return (Criteria) this;
        }

        public Criteria andGrayimageurlIsNull() {
            addCriterion("grayImageUrl is null");
            return (Criteria) this;
        }

        public Criteria andGrayimageurlIsNotNull() {
            addCriterion("grayImageUrl is not null");
            return (Criteria) this;
        }

        public Criteria andGrayimageurlEqualTo(String value) {
            addCriterion("grayImageUrl =", value, "grayimageurl");
            return (Criteria) this;
        }

        public Criteria andGrayimageurlNotEqualTo(String value) {
            addCriterion("grayImageUrl <>", value, "grayimageurl");
            return (Criteria) this;
        }

        public Criteria andGrayimageurlGreaterThan(String value) {
            addCriterion("grayImageUrl >", value, "grayimageurl");
            return (Criteria) this;
        }

        public Criteria andGrayimageurlGreaterThanOrEqualTo(String value) {
            addCriterion("grayImageUrl >=", value, "grayimageurl");
            return (Criteria) this;
        }

        public Criteria andGrayimageurlLessThan(String value) {
            addCriterion("grayImageUrl <", value, "grayimageurl");
            return (Criteria) this;
        }

        public Criteria andGrayimageurlLessThanOrEqualTo(String value) {
            addCriterion("grayImageUrl <=", value, "grayimageurl");
            return (Criteria) this;
        }

        public Criteria andGrayimageurlLike(String value) {
            addCriterion("grayImageUrl like", value, "grayimageurl");
            return (Criteria) this;
        }

        public Criteria andGrayimageurlNotLike(String value) {
            addCriterion("grayImageUrl not like", value, "grayimageurl");
            return (Criteria) this;
        }

        public Criteria andGrayimageurlIn(List<String> values) {
            addCriterion("grayImageUrl in", values, "grayimageurl");
            return (Criteria) this;
        }

        public Criteria andGrayimageurlNotIn(List<String> values) {
            addCriterion("grayImageUrl not in", values, "grayimageurl");
            return (Criteria) this;
        }

        public Criteria andGrayimageurlBetween(String value1, String value2) {
            addCriterion("grayImageUrl between", value1, value2, "grayimageurl");
            return (Criteria) this;
        }

        public Criteria andGrayimageurlNotBetween(String value1, String value2) {
            addCriterion("grayImageUrl not between", value1, value2, "grayimageurl");
            return (Criteria) this;
        }

        public Criteria andCouponcenterIsNull() {
            addCriterion("couponCenter is null");
            return (Criteria) this;
        }

        public Criteria andCouponcenterIsNotNull() {
            addCriterion("couponCenter is not null");
            return (Criteria) this;
        }

        public Criteria andCouponcenterEqualTo(Integer value) {
            addCriterion("couponCenter =", value, "couponcenter");
            return (Criteria) this;
        }

        public Criteria andCouponcenterNotEqualTo(Integer value) {
            addCriterion("couponCenter <>", value, "couponcenter");
            return (Criteria) this;
        }

        public Criteria andCouponcenterGreaterThan(Integer value) {
            addCriterion("couponCenter >", value, "couponcenter");
            return (Criteria) this;
        }

        public Criteria andCouponcenterGreaterThanOrEqualTo(Integer value) {
            addCriterion("couponCenter >=", value, "couponcenter");
            return (Criteria) this;
        }

        public Criteria andCouponcenterLessThan(Integer value) {
            addCriterion("couponCenter <", value, "couponcenter");
            return (Criteria) this;
        }

        public Criteria andCouponcenterLessThanOrEqualTo(Integer value) {
            addCriterion("couponCenter <=", value, "couponcenter");
            return (Criteria) this;
        }

        public Criteria andCouponcenterIn(List<Integer> values) {
            addCriterion("couponCenter in", values, "couponcenter");
            return (Criteria) this;
        }

        public Criteria andCouponcenterNotIn(List<Integer> values) {
            addCriterion("couponCenter not in", values, "couponcenter");
            return (Criteria) this;
        }

        public Criteria andCouponcenterBetween(Integer value1, Integer value2) {
            addCriterion("couponCenter between", value1, value2, "couponcenter");
            return (Criteria) this;
        }

        public Criteria andCouponcenterNotBetween(Integer value1, Integer value2) {
            addCriterion("couponCenter not between", value1, value2, "couponcenter");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNull() {
            addCriterion("createTime is null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNotNull() {
            addCriterion("createTime is not null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeEqualTo(Date value) {
            addCriterion("createTime =", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotEqualTo(Date value) {
            addCriterion("createTime <>", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThan(Date value) {
            addCriterion("createTime >", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("createTime >=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThan(Date value) {
            addCriterion("createTime <", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThanOrEqualTo(Date value) {
            addCriterion("createTime <=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIn(List<Date> values) {
            addCriterion("createTime in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotIn(List<Date> values) {
            addCriterion("createTime not in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeBetween(Date value1, Date value2) {
            addCriterion("createTime between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotBetween(Date value1, Date value2) {
            addCriterion("createTime not between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatebycodeIsNull() {
            addCriterion("createByCode is null");
            return (Criteria) this;
        }

        public Criteria andCreatebycodeIsNotNull() {
            addCriterion("createByCode is not null");
            return (Criteria) this;
        }

        public Criteria andCreatebycodeEqualTo(String value) {
            addCriterion("createByCode =", value, "createbycode");
            return (Criteria) this;
        }

        public Criteria andCreatebycodeNotEqualTo(String value) {
            addCriterion("createByCode <>", value, "createbycode");
            return (Criteria) this;
        }

        public Criteria andCreatebycodeGreaterThan(String value) {
            addCriterion("createByCode >", value, "createbycode");
            return (Criteria) this;
        }

        public Criteria andCreatebycodeGreaterThanOrEqualTo(String value) {
            addCriterion("createByCode >=", value, "createbycode");
            return (Criteria) this;
        }

        public Criteria andCreatebycodeLessThan(String value) {
            addCriterion("createByCode <", value, "createbycode");
            return (Criteria) this;
        }

        public Criteria andCreatebycodeLessThanOrEqualTo(String value) {
            addCriterion("createByCode <=", value, "createbycode");
            return (Criteria) this;
        }

        public Criteria andCreatebycodeLike(String value) {
            addCriterion("createByCode like", value, "createbycode");
            return (Criteria) this;
        }

        public Criteria andCreatebycodeNotLike(String value) {
            addCriterion("createByCode not like", value, "createbycode");
            return (Criteria) this;
        }

        public Criteria andCreatebycodeIn(List<String> values) {
            addCriterion("createByCode in", values, "createbycode");
            return (Criteria) this;
        }

        public Criteria andCreatebycodeNotIn(List<String> values) {
            addCriterion("createByCode not in", values, "createbycode");
            return (Criteria) this;
        }

        public Criteria andCreatebycodeBetween(String value1, String value2) {
            addCriterion("createByCode between", value1, value2, "createbycode");
            return (Criteria) this;
        }

        public Criteria andCreatebycodeNotBetween(String value1, String value2) {
            addCriterion("createByCode not between", value1, value2, "createbycode");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNull() {
            addCriterion("updateTime is null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNotNull() {
            addCriterion("updateTime is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeEqualTo(Date value) {
            addCriterion("updateTime =", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotEqualTo(Date value) {
            addCriterion("updateTime <>", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThan(Date value) {
            addCriterion("updateTime >", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("updateTime >=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThan(Date value) {
            addCriterion("updateTime <", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThanOrEqualTo(Date value) {
            addCriterion("updateTime <=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIn(List<Date> values) {
            addCriterion("updateTime in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotIn(List<Date> values) {
            addCriterion("updateTime not in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeBetween(Date value1, Date value2) {
            addCriterion("updateTime between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotBetween(Date value1, Date value2) {
            addCriterion("updateTime not between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatebycodeIsNull() {
            addCriterion("updateByCode is null");
            return (Criteria) this;
        }

        public Criteria andUpdatebycodeIsNotNull() {
            addCriterion("updateByCode is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatebycodeEqualTo(String value) {
            addCriterion("updateByCode =", value, "updatebycode");
            return (Criteria) this;
        }

        public Criteria andUpdatebycodeNotEqualTo(String value) {
            addCriterion("updateByCode <>", value, "updatebycode");
            return (Criteria) this;
        }

        public Criteria andUpdatebycodeGreaterThan(String value) {
            addCriterion("updateByCode >", value, "updatebycode");
            return (Criteria) this;
        }

        public Criteria andUpdatebycodeGreaterThanOrEqualTo(String value) {
            addCriterion("updateByCode >=", value, "updatebycode");
            return (Criteria) this;
        }

        public Criteria andUpdatebycodeLessThan(String value) {
            addCriterion("updateByCode <", value, "updatebycode");
            return (Criteria) this;
        }

        public Criteria andUpdatebycodeLessThanOrEqualTo(String value) {
            addCriterion("updateByCode <=", value, "updatebycode");
            return (Criteria) this;
        }

        public Criteria andUpdatebycodeLike(String value) {
            addCriterion("updateByCode like", value, "updatebycode");
            return (Criteria) this;
        }

        public Criteria andUpdatebycodeNotLike(String value) {
            addCriterion("updateByCode not like", value, "updatebycode");
            return (Criteria) this;
        }

        public Criteria andUpdatebycodeIn(List<String> values) {
            addCriterion("updateByCode in", values, "updatebycode");
            return (Criteria) this;
        }

        public Criteria andUpdatebycodeNotIn(List<String> values) {
            addCriterion("updateByCode not in", values, "updatebycode");
            return (Criteria) this;
        }

        public Criteria andUpdatebycodeBetween(String value1, String value2) {
            addCriterion("updateByCode between", value1, value2, "updatebycode");
            return (Criteria) this;
        }

        public Criteria andUpdatebycodeNotBetween(String value1, String value2) {
            addCriterion("updateByCode not between", value1, value2, "updatebycode");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}